import copy

# 深拷贝与浅拷贝

varlist = [1, 2, 3]
# 拷贝varlist赋值给newlist,输出查看他们的内容及内存地址
newlist = varlist.copy()
print(id(varlist), varlist)  # 13517088 [1, 2, 3]
print(id(newlist), newlist)  # 13466880 [1, 2, 3]

# 删除 newlist 中的 2，输出varlist 和 newlist的内容及内存地址，保证 varlist 中的内容没有变化
del newlist[1]
print(id(varlist), varlist)  # 13517088 [1, 2, 3]
print(id(newlist), newlist)  # 13466880 [1, 3]

# 多维列表
varlist1 = [1, 2, 3, ['a', 'b', 'c']]

# 拷贝varlist1赋值给newlist1,输出查看他们的内容及内存地址
newlist1 = copy.deepcopy(varlist1)
print(id(varlist1), varlist1)  # 13732160 [1, 2, 3, ['a', 'b', 'c']]
print(id(newlist1), newlist1)  # 13732400 [1, 2, 3, ['a', 'b', 'c']]

# 删除 newlist1 中的 ’b‘，输出varlist1 和 newlist1的内容及内存地址，保证 varlist1 中的内容没有变化
del newlist1[3][1]
print(id(varlist1), varlist1)  # 13732160 [1, 2, 3, ['a', 'b', 'c']]
print(id(newlist1), newlist1)  # 13732400 [1, 2, 3, ['a', 'c']]
